home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir42 / c7105.zip / 3007105.DOC next >
Text File  |  1994-03-02  |  6KB  |  132 lines

  1. Template Release 3007.105 Installation Notes
  2.  
  3. NOTE:  All of the fixes in any Template Release have not been fully tested by
  4.        Q&A. I have a high level of confidence in the fixes made in any
  5.        Template Release, but time-constraints dictate that Q&A cannot devote
  6.        someone full-time to testing fixes made as fast as I'm making them
  7.        For instance, a change made to Browse.CLA needs to be tested in
  8.        literally hundreds of situations.  While a fix may work in every case I
  9.        try, I cannot fully test my own work, just as a writer cannot
  10.        proof-read his or her own manuscript.  You may find some bugs.  The
  11.        changes made in any Template Release will be included in the first CDD
  12.        Patch after they've been fully tested.
  13.  
  14. NOTE:  The file TPXFIXES.DOC contains a listing of all fixes since 3007.100.
  15.  
  16. NOTE:  Clarion.TXT has not been updated with all of these changes.  That
  17. update will be coming 'round soon.
  18.  
  19. The following file has been modified in this release:
  20.  
  21. Fixes from 3007.104 to 3007.105
  22.  
  23. All Templates with PullDowns - Added pulldown handling code consisting of a
  24. byte flag, declared as SAV::PullDownOpened.  On the line after every
  25. OPEN(%PullDown) in each procedure, this flag is set to true, and after every
  26. CLOSE(%PullDown) the flag is set to false.  IF you manipulate the PullDown in
  27. your EMBED code, you need to manipulate this flag for the procedure to know
  28. what to do!
  29.  
  30. Form and MultiPg - Rewrote the AutoIncrement code.  AutoIncrement now works
  31. with any key structure that I can think up to AutoIncrement.  The following
  32. rules have changed since 3007.105:
  33.  
  34.   1.     Higher level key elements are no longer cleared to high values.
  35.          The clearing to high levels actually accomplished little, since you
  36.          needed to use a PRIMEKEY formula to set up multiple key elements.
  37.  
  38.   2.     AutoNumber ROUTINE now calls two ROUTINES, SaveAutonumber and
  39.          NextAutoNumber.  This separation was made so that AutoNumber would
  40.          work with recurring add procedures (Clear or Retain Record).
  41.  
  42.   3.     AutoNumbering keys now have a variable declared to store the value
  43.          of each key element.  These variables are named Auto:%KeyField,
  44.          where %KeyField is the labal of the key element being stored.
  45.  
  46.          If keys exist for %Primary which prohibit duplicates, no NOT exclude
  47.          nulls, and are not AutoNumbering, additional variables for the
  48.          Autonumbering key fields are created.  These variables are named
  49.          Auto:Hold:%KeyField. These values are used to detect if the
  50.          autonumber values are generated the same on two consecutive passes
  51.          through the AutoNumber code.  If so, a warning is generated.  If you
  52.          get the error:  "When adding a record, an unexplained Duplicate was
  53.          encountered."  This warning is due to a design flaw in the generated
  54.          program, because of which the end-user is able to save a record with
  55.          empty key fields in a unique key that does not exclude nulls.  The
  56.          entry fields corresponding to the key fields need to be required.
  57.          Otherwise, how can an AutoNumber record be created?
  58.  
  59.   4.     In the SaveAutonumber ROUTINE, we prime the key values for every
  60.          autonumbering key.  Here's how we do it:
  61.  
  62.          a.        Process PRIMEKEY formulae to prime values.  This is not
  63.                    necessary with the 3007.105 templates, because in the
  64.                    absence of PRIMEKEY formulae we use the key field values
  65.                    that are already present in the record buffer.  In
  66.                    other words, with 3007.105 to prime your key fields you
  67.                    only have to make the appropriate value assignments in your
  68.                    "Setup Procedure" EMBED.
  69.  
  70.          b.        Use the current values of the key fields as they
  71.                    are in the %Primary record buffer.  Since the Browse
  72.                    resets Range Limit values after clearing the record on an
  73.                    ADD, in most cases this should not need to be done.
  74.  
  75.   5.     In NextAutoNumber, we search each autonumber key for the next
  76.          highest number, using the values saved in SaveAutoNumber.  After
  77.          we've gotten the high value for each field, we restore values as
  78.          they were saves in SaveAutoNumber, restore the new AutoNumber
  79.          values, and attempt to add.  If we fail because of duplicates, we
  80.          try again.  If we fail for any other reason, we immediatly inform
  81.          the user.
  82.  
  83.   6.     %Primary is only being HELD if SharedFiles is set on.  In a single
  84.          user system this HOLD is not necessary.
  85.  
  86. Several Misc Templates - Replaced BREAK and RETURN statements with DO
  87. ProcedureReturns, as necessary.
  88.  
  89. Several Misc Templates - Move last ShowWarning constructions to WARNINGS.TPX
  90.  
  91. Relation.TPX - In the InitLogout and BtrieveTrxFraming GROUPs, ShowWarning
  92. construction was taking place after the ROLLBACK, which clears out ERROR()
  93. and ERRORCODE(), making the warning uninformative, to say the least.
  94.  
  95. Child - Added INSERT to %StandardHeader
  96.  
  97. View - Changed final SetPath to allow setting path back to root directory.
  98.  
  99. Form21 and MemForm21 - Moved the CASE KEYCODE() handling to a GROUP,
  100. %Form21KeyHandling.  This GROUP is located at the tail of CPD21.TPX, and
  101. allows easier repairs.
  102.  
  103. Clarion.TPL - Added ProcedureReturn ROUTINEs to CheckOpen, DiskError, and
  104. ShowWarning procedures and functions.
  105.  
  106. Clarion.TPL - Added LOC::ReturnValue to CheckOpen() and DiskErr() functions.
  107. This value is RETURNed in ProcedureReturn.
  108.  
  109. Clarion.TPL - Added several new EMBED points in CheckOpen, DiskError, and
  110. ShowWarning.
  111.  
  112. MultiPg and Form21 - Made the Message Prompts 30 characters in length.
  113.  
  114. Reports - Again, fixed problems with Group Breaks.
  115.  
  116. Reports - were reporting the entire contents of a file, even if Range Limit
  117. set.
  118.  
  119. ScrnFlds.TPX - Was not generating code for fields that were not file related,
  120. i.e. Global and Local data.
  121.  
  122. Browse, Validate, Select, Lookup - Were not updating the record on a form
  123. called with CtrlEnter.  Added SETKEYCODE(EnterKey) to that condition.
  124.  
  125. Tom Moseley
  126.  
  127. ----------------------------------
  128. To Install:
  129.  
  130. Copy all *.TP*, *.CLA, *.DLL, *.PR to your \CLARION3 directory
  131. Copy all *.LIB to your \CLARION3\LIB directory
  132.